package edu.kufpg.armatus.activity;
import java.util.ArrayList;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
public class SelectionTextView extends TextView {
private ArrayList<SelectionWatcher> mSelectionWatchers;
public SelectionTextView(Context context) {
super(context);
}
public SelectionTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SelectionTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public void addSelectionWatcher(SelectionWatcher watcher) {
if (mSelectionWatchers == null) {
mSelectionWatchers = new ArrayList<SelectionWatcher>();
}
mSelectionWatchers.add(watcher);
}
public void removeSelectionWatcher(SelectionWatcher watcher) {
if (mSelectionWatchers != null) {
int i = mSelectionWatchers.indexOf(watcher);
if (i >= 0) {
mSelectionWatchers.remove(i);
}
}
}
@Override
protected void onSelectionChanged(int selStart, int selEnd) {
if (mSelectionWatchers != null) {
for (SelectionWatcher watcher : mSelectionWatchers) {
watcher.onSelectionChanged(selStart, selEnd);
}
}
super.onSelectionChanged(selStart, selEnd);
}
public static interface SelectionWatcher {
void onSelectionChanged(int selStart, int selEnd);
}
}